The present application relates to computing and more specifically to software and accompanying systems and methods for collecting and using information pertaining to software customizations made to a core software application.
Software for tracking, monitoring, or analyzing software customizations are employed in various demanding applications, including software debugging tools used with integrated development environments; software integration testing, and so on. Such applications often demand user friendly informative tools for providing insight about customized software, including insight about interactions and compatibility with other software components and insight helping to reduce deployed customizations.
Informative customization analysis tools are particularly important in complex multi-tier enterprise computing environments, which may include hundreds of servers running different distributed applications with thousands of custom components. Cloud services customers who customize delivered enterprise software applications may benefit by understanding the impacts that certain software customizations have on the overall enterprise computing environment. Such information can be important when deciding whether to keep or modify customizations when core software is upgraded or changed.
Conventional customization tracking tools often ineffectively track effects of customizations in complex multi-language, multi-tier networked enterprise computing environments. Accordingly, such tools may output stale data that does not account for recent core application upgrades, patches, and fixes.
Conventionally, before generating impact reports associated with software customizations, customers must complete the enterprise software upgrade process. Hence, enterprise cloud services customers must often download and install the latest enterprise software; then search for, find, and apply the latest fixes. Customers must then inspect potentially thousands of custom components to determine which components are functioning properly, and so on. If the upgrade is problematic, e.g., interferes with critical customizations, then costly rollback of the upgrade may be required.
In general, excessive upgrade costs may deincentivize core software application upgrades. Lack of insight as to how an upgrade or maintenance event will impact existing customizations may further inhibit customer adoption of new core software application features that could replace certain legacy customizations. As numbers of legacy customizations accumulate, software maintenance becomes progressively costly. Furthermore, customers may overlook newly deliverable features, functionality and software products and/or services.